package validator;

import java.util.Map;

/**
 * 验证规则定义
 * @author heantai
 *
 */
public class Validators {
	
	/**
	 * 初始化验证规则
	 */
	public static void  init(){
		initDemoActionLogin();
	}
/**
 * 由于struts已可以在配置中对输入进行验证，故可以解析struts的验证配置，映射到jquery
 * spring的数据验证
 * 
 * TODO 验证通过配置实现
 * <validators>
 * 	<validator name='login'>
 * 		<field name='loginName'>
	 * 		<rule name='required' param='true'/>
	 * 		<rule name='maxlength' param='10'/>
 * 		</field>
	 * <field name='pwd'>
	 * 		<rule name='required' param='true'/>
	 * 		<rule name='range' param='[10,15]'/>
	 * </field>
 * </validator>
 * </validators>
 */
	/**
	 * 成对使用
	 */
	public static Map<String, Map<String,Map<String, String>>> DEMO_ACTION_LOGIN_MAP;
	public static String DEMO_ACTION_LOGIN;
	
	private static void initDemoActionLogin(){
		DEMO_ACTION_LOGIN_MAP=JqueryValidator.initValidatorMap();
//		JqueryValidator.setFieldValidate(DEMO_ACTION_LOGIN_MAP, "name", JqueryMethod.REQUIED, Boolean.TRUE.toString(), "请输入名字");
//		JqueryValidator.setFieldValidate(DEMO_ACTION_LOGIN_MAP, "name", JqueryMethod.MAXLENGTH, "5", "最多输入{0}个字符");
//		JqueryValidator.setFieldValidate(DEMO_ACTION_LOGIN_MAP, "number", JqueryMethod.NUMBER, "true", "请输入数字");
//		JqueryValidator.setFieldValidate(DEMO_ACTION_LOGIN_MAP, "age", JqueryMethod.MIN, "10", "最小年龄为{0}岁");
//		JqueryValidator.setFieldValidate(DEMO_ACTION_LOGIN_MAP, "phone", Methods.LIANTONG, "true", "请输入联通号");
//		JqueryValidator.setFieldValidate(DEMO_ACTION_LOGIN_MAP, "age2", JqueryMethod.EQUALTO, "#age", "请输入相同的年龄");
//		JqueryValidator.setFieldValidate(DEMO_ACTION_LOGIN_MAP, "phone2", JqueryMethod.EQUALTO, "#phone", "请输入相同的手机号");
//		JqueryValidator.setFieldValidate(DEMO_ACTION_LOGIN_MAP, "fileName", JqueryMethod.ACCEPT, "jpg|txt", "只能是jpg或txt文件");
//		JqueryValidator.setFieldValidate(DEMO_ACTION_LOGIN_MAP, "date", JqueryMethod.DATEISO, "true", "日期格式为yyyy-MM-dd");
		
		////////////////////////////////
		JqueryValidator.setFieldValidate(DEMO_ACTION_LOGIN_MAP, "name", JqueryMethod.REQUIED, Boolean.TRUE.toString(), null);
		JqueryValidator.setFieldValidate(DEMO_ACTION_LOGIN_MAP, "name", JqueryMethod.MAXLENGTH, "5", null);
		JqueryValidator.setFieldValidate(DEMO_ACTION_LOGIN_MAP, "number", JqueryMethod.NUMBER, "true", null);
		JqueryValidator.setFieldValidate(DEMO_ACTION_LOGIN_MAP, "age", JqueryMethod.MIN, "10", null);
		JqueryValidator.setFieldValidate(DEMO_ACTION_LOGIN_MAP, "phone", Methods.LIANTONG, "true", null);
		JqueryValidator.setFieldValidate(DEMO_ACTION_LOGIN_MAP, "age2", JqueryMethod.EQUALTO, "#age", null);
		JqueryValidator.setFieldValidate(DEMO_ACTION_LOGIN_MAP, "phone2", JqueryMethod.EQUALTO, "#phone", null);
		JqueryValidator.setFieldValidate(DEMO_ACTION_LOGIN_MAP, "fileName", JqueryMethod.ACCEPT, "jpg|txt", null);
		JqueryValidator.setFieldValidate(DEMO_ACTION_LOGIN_MAP, "date", JqueryMethod.DATEISO, "true", null);
		
		DEMO_ACTION_LOGIN=JqueryValidator.toJson(DEMO_ACTION_LOGIN_MAP);
	}
}
